// DocumentProperties.h

#pragma once

//using namespace System;

namespace DsoFileNET {

	public enum class FilePropertyType		// dsoFilePropertyType
	{
		Unknown = 0,						// dsoPropertyTypeUnknown
		String = 1,							// dsoPropertyTypeString
		Long,								// dsoPropertyTypeLong
		Double,								// dsoPropertyTypeDouble
		Bool,								// dsoPropertyTypeBool
		Date								// dsoPropertyTypeDate
	};

	[System::Flags]
	public enum class FileOpenOptions		// dsoFileOpenOptions
	{
		Default = 0,						// dsoOptionDefault
		OnlyOpenOleFiles = 1,				// dsoOptionOnlyOpenOLEFiles
		OpenReadOnlyIfNoWriteAccess = 2,	// dsoOptionOpenReadOnlyIfNoWriteAccess
		NoAutoCreate = 4,					// dsoOptionDontAutoCreate
		UseMBCSStringsForNewSets = 8		// dsoOptionUseMBCStringsForNewSets
	};

	public enum class UserDefinedProperty
	{
		Dictionary = 0,						// PID_DICTIONARY
		CodePage = 1,						// PID_CODEPAGE
		Category,							// PID_CATEGORY			string
		PresentationFormat,					// PID_PRESFORMAT		string
		ByteCount,							// PID_BYTECOUNT		int
		LineCount,							// PID_LINECOUNT		int
		ParagraphCount,						// PID_PARACOUNT		int
		SlideCount,							// PID_SLIDECOUNT		int
		NoteCount,							// PID_NOTECOUNT		int
		HiddenCount,						// PID_HIDDENCOUNT		int
		MultimediaClipCount,				// PID_MMCLIPCOUNT		int
		Scale,								// PID_SCALE			bool
		HeadingPair,						// PID_HEADINGPAIR		object[]
		DocumentParts,						// PID_DOCPARTS			string[]
		Manager,							// PID_MANAGER			string
		Company,							// PID_COMPANY			string
		LinksDirty,							// PID_LINKSDIRTY		bool
		CharacterCountWithSpaces,			// PID_CCHWITHSPACES	int
		Guid,								// PID_GUID				string (no longer used)
		SharedDocument,						// PID_SHAREDDOC		bool
		LinkBase,							// PID_LINKBASE			string (no longer used)
		HelpLinks,							// PID_HLINKS			object[] (no longer used)
		HelpLinksChanged,					// PID_HLINKSCHANGED	bool
		Version,							// PID_VERSION			int
		DigitalSignature					// PID_DIGSIG			object (byte[]?)
	};

	public enum class SummaryInformationProperty
	{
		Title = 2,							// PIDSI_TITLE			string
		Subject,							// PIDSI_SUBJECT		string
		Author,								// PIDSI_AUTHOR			string
		Keywords,							// PIDSI_KEYWORDS		string
		Comments,							// PIDSI_COMMENTS		string
		Template,							// PIDSI_TEMPLATE		string
		LastAuthor,							// PIDSI_LASTAUTHOR		string
		RevNumber,							// PIDSI_REVNUMBER		string
		EditTime,							// PIDSI_EDITTIME		datetime
		LastPrinted,						// PIDSI_LASTPRINTED	datetime
		CreateDtm,							// PIDSI_CREATE_DTM		datetime
		LastSaveDtm,						// PIDSI_LASTSAVE_DTM	datetime
		PageCount,							// PIDSI_PAGECOUNT		int
		WordCount,							// PIDSI_WORDCOUNT		int
		CharCount,							// PIDSI_CHARCOUNT		int
		Thumbnail,							// PIDSI_THUMBNAIL		vt_cf? (object)
		ApplicationName,					// PIDSI_APPNAME		string
		DocumentSecurity					// PIDSI_DOC_SECURITY	int
	};
}